2
不谈使用git message模板的原因或者历史,网上有一堆。相信针对看到这文章的人都知道,目前自己的版本管理中,追溯提交日志时觉得信息凌乱甚至不堪入目。因此才有此想法:统一提交模板

1. 模板格式

规范使用较多的是 Angular 团队的规范,格式如下:

<type>(<scope>): <subject>
// 空出一行
<body>
// 空出一行
<footer>

type: commit 的类型(必填)

  • feat: 新特性
  • fix: 修改问题
  • refactor: 代码重构
  • docs: 文档修改
  • style: 代码格式修改, 注意不是 css 修改
  • test: 测试用例修改
  • chore: 其他修改, 比如构建流程, 依赖管理.
  • scope: commit 影响的范围(选填), 比如: route, component, utils, build...
  • subject: 提交简述(必填)

body: commit 具体修改内容(选填)
可以分为多行

footer: 一些备注(选填)
通常是 BREAKING CHANGE 或修复的 bug 的链接.

2. 设置模板

2.1 修改全局配置

在git全局配置里进行设置,linx/mac 进入文件.gitconfig

$ vi ~/.gitconfig

若不存在[commit] template,则设置如下

[commit]
        template = /Users/zhangguoye/.stCommitMsg

2.2 修改模板

设置模板完毕后,下一步进行模板内容的修改

$ vi  /Users/zhangguoye/.stCommitMsg

粘入以下内容保存即可。若使用sourcetree等git管理软件,则需要重启软件才能生效。

<feat>(<>): <提交描述>

<body>

<footer>

# - type: 
    feat(新特性), 
    fix(修改问题), 
    docs(文档修改), 
    style(代码格式修改, 注意不是 css 修改), 
    refactor(代码重构), 
    test(测试), 
    chore(其他修改, 比如构建流程, 依赖管理)
# - scope: (可以为空)
    影响的的范围
# - subject
    提交描述

3. Commitizen

另外有人说用 Commitizen 替代 git commit,我就不发表意见了。但还是建议新手少折腾。
有兴趣的可以自行了解下:
commitizen :https://github.com/commitizen...
cz-conventional-changelog:https://github.com/commitizen...


Guoye
315 声望9 粉丝